package com.demo2do.boyle.backend.service.aduser;

import java.util.List;

import com.demo2do.boyle.backend.service.DataService;
import com.demo2do.boyle.common.entity.aduser.Aduser;
import com.demo2do.boyle.common.entity.aduser.AduserBalance;
import com.demo2do.boyle.common.entity.aduser.Company;
import com.demo2do.boyle.common.entity.aduser.Profile;
import com.demo2do.boyle.common.entity.aduser.transaction.AduserTransaction;

/**
 * @author mohanlan leo
 */
public interface AduserService extends DataService<Aduser>{
    
    /**
	 * 
	 * @param aduser
	 */
	public void createAduser(Aduser aduser);
	
	/**
	 * 
	 * @param aduser
	 * @param profile
	 * @return
	 */
	public void editProfile(Aduser aduser, Profile profile);
	
	/**
	 * 
	 * @param aduser
	 * @param company
	 * @return
	 */
	public void editCompany(Aduser aduser, Company company);
    
    /**
     * load aduser balance
     * 
     * @param id
     * @return
     */
    public AduserBalance loadBalance(Integer id);
    
    /**
     * 
     * @param aduser
     * @param deposit
     */
    public void editBalance(Aduser aduser, int deposit);
    
    /**
     * list aduser transactions
     * 
     * @param aduser
     * @return
     */
    public List<AduserTransaction> listTransactions(Aduser aduser);

}
